/**
 * 修复Vite依赖预构建问题
 * 解决chunk文件缺失问题
 */
const { execSync } = require('child_process');
const fs = require('fs');
const path = require('path');

console.log('🔧 开始修复Vite依赖预构建问题...');

try {
    // 1. 清理node_modules/.vite缓存
    const viteCachePath = path.join(__dirname, 'node_modules', '.vite');
    if (fs.existsSync(viteCachePath)) {
        console.log('🗑️ 清理Vite缓存...');
        fs.rmSync(viteCachePath, { recursive: true, force: true });
    }

    // 2. 清理dist目录
    const distPath = path.join(__dirname, 'dist');
    if (fs.existsSync(distPath)) {
        console.log('🗑️ 清理构建目录...');
        fs.rmSync(distPath, { recursive: true, force: true });
    }

    // 3. 重新安装依赖
    console.log('📦 重新安装依赖...');
    execSync('npm install', { stdio: 'inherit' });

    // 4. 强制重新构建依赖
    console.log('🔨 强制重新构建依赖...');
    execSync('npx vite optimize --force', { stdio: 'inherit' });

    console.log('✅ Vite依赖预构建问题修复完成！');
    console.log('🚀 现在可以运行 npm run dev 启动开发服务器');

} catch (error) {
    console.error('❌ 修复过程中出现错误:', error.message);
    process.exit(1);
}